package com.jrx.anytxn.transaction.dto.transactionLog;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 交易流水res
 *
 * @author yf
 * date 2020/7/28 0028
 * @version V1.0
 **/
public class TlDisbursementLogRes implements Serializable {

    /**
     * 自增主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租戶id
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 流水号
     * 表字段:seq_no
     */
    private String seqNo;

    /**
     * 	贷款订单id
     * 表字段:loan_id
     */
    private String loanId;

    /**
     * 客户id
     * 表字段:customer_id
     */
    private String customerId;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 产品id
     * 表字段:product_id
     */
    private String productId;

    /**
     * 联合贷标识(0=否 1=是)
     * 表字段:joint_loan_flag
     */
    private String jointLoanFlag;

    /**
     * 汇款金额
     * 表字段:amount
     */
    private BigDecimal amount;

    /**
     * 收款人名称
     * 表字段:payee_name
     */
    private String payeeName;

    /**
     * 收款人账号
     * 表字段:payee_account
     */
    private String payeeAccount;

    /**
     * 收款账户类型(0 = 本行二类户 1 = 本行借记卡 2 = 他行借记卡)
     * 表字段:payee_account_type
     */
    private String payeeAccountType;

    /**
     * 收款人开户行行号
     * 表字段:payee_account_bank
     */
    private String payeeAccountBank;

    /**
     * 收款行号
     * 表字段:payee_bank
     */
    private String payeeBank;

    /**
     * 收款行名称
     * 表字段:payee_bank_name
     */
    private String payeeBankName;

    /**
     * 手机
     * 表字段:mobile
     */
    private String mobile;

    /**
     * 用途
     * 表字段:pupose
     */
    private String pupose;

    /**
     * 加急标志(NORM=批量 HIGH=实时 默认实时)
     * 表字段:priority
     */
    private String priority;

    /**
     * 付款账户
     * 表字段:payer_account
     */
    private String payerAccount;

    /**
     * 平台结算账户
     * 表字段:partner_account
     */
    private String partnerAccount;

    /**
     * 支付平台金额
     * 表字段:partner_pay_amount
     */
    private BigDecimal partnerPayAmount;

    /**
     * 账户可用余额(本行账户使用)
     * 表字段:avail_balance
     */
    private BigDecimal availBalance;

    /**
     * 交易币种(CNY = 人民币 USD = 美元 HKD = 港币)
     * 表字段:currency
     */
    private String currency;

    /**
     * 交易类型(本行账户使用)
     * 表字段:transaction_type
     */
    private String transactionType;

    /**
     * 放款类型(SYSTEM=系统放款 MANUAL=手工放款)
     * 表字段:disburse_type
     */
    private String disburseType;

    /**
     * 限制类型
     * 表字段:restraint_type
     */
    private String restraintType;

    /**
     * 限制信息序号
     * 表字段:restraint_seq_no
     */
    private String restraintSeqNo;

    /**
     * 费项代码(消费信贷为固定值)
     * 表字段:fee_code
     */
    private String feeCode;

    /**
     * 生效日期(本行账户使用)
     * 表字段:effect_date
     */
    private Date effectDate;

    /**
     * 交易参考号
     * 表字段:ref_no
     */
    private String refNo;

    /**
     * 交易返回码
     * 表字段:return_code
     */
    private String returnCode;

    /**
     * 交易返回信息
     * 表字段:return_message
     */
    private String returnMessage;

    /**
     * 交易状态
     * 表字段:return_status
     */
    private String returnStatus;

    /**
     * 放款最终状态(S=成功  F=失败 O=其他未知)
     * 表字段:sum_status
     */
    private String sumStatus;

    /**
     * 取消标志(0=否 1=是)
     * 表字段:cancel_status
     */
    private String cancelStatus;

    /**
     * 渠道
     * 表字段:channel
     */
    private String channel;

    /**
     * 业务日期
     * 表字段:business_date
     */
    private Date businessDate;

    /**
     * 对账日期
     * 表字段:collate_date
     */
    private Date collateDate;

    /**
     * 交易发起时间
     * 表字段:launch_time
     */
    private Date launchTime;

    /**
     * 支付完成时间
     * 表字段:complete_time
     */
    private Date completeTime;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    /**
     * 灰度版本（P生产  G灰度）
     * 表字段:gray_version
     */
    private String grayVersion;

    /**
     * 日终T24核心汇总记账状态 S-记账成功，F-记账失败，O-记账状态未知，默认空-未记账
     * 表字段:keep_account_status
     */
    private String keepAccountStatus;

    /**
     * 放款结果查询最大次数
     * 表字段:query_max_counts
     */
    private Integer queryMaxCounts;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getSeqNo() {
        return seqNo;
    }

    public void setSeqNo(String seqNo) {
        this.seqNo = seqNo;
    }

    public String getLoanId() {
        return loanId;
    }

    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getJointLoanFlag() {
        return jointLoanFlag;
    }

    public void setJointLoanFlag(String jointLoanFlag) {
        this.jointLoanFlag = jointLoanFlag;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getPayeeName() {
        return payeeName;
    }

    public void setPayeeName(String payeeName) {
        this.payeeName = payeeName;
    }

    public String getPayeeAccount() {
        return payeeAccount;
    }

    public void setPayeeAccount(String payeeAccount) {
        this.payeeAccount = payeeAccount;
    }

    public String getPayeeAccountType() {
        return payeeAccountType;
    }

    public void setPayeeAccountType(String payeeAccountType) {
        this.payeeAccountType = payeeAccountType;
    }

    public String getPayeeAccountBank() {
        return payeeAccountBank;
    }

    public void setPayeeAccountBank(String payeeAccountBank) {
        this.payeeAccountBank = payeeAccountBank;
    }

    public String getPayeeBank() {
        return payeeBank;
    }

    public void setPayeeBank(String payeeBank) {
        this.payeeBank = payeeBank;
    }

    public String getPayeeBankName() {
        return payeeBankName;
    }

    public void setPayeeBankName(String payeeBankName) {
        this.payeeBankName = payeeBankName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getPupose() {
        return pupose;
    }

    public void setPupose(String pupose) {
        this.pupose = pupose;
    }

    public String getPriority() {
        return priority;
    }

    public void setPriority(String priority) {
        this.priority = priority;
    }

    public String getPayerAccount() {
        return payerAccount;
    }

    public void setPayerAccount(String payerAccount) {
        this.payerAccount = payerAccount;
    }

    public String getPartnerAccount() {
        return partnerAccount;
    }

    public void setPartnerAccount(String partnerAccount) {
        this.partnerAccount = partnerAccount;
    }

    public BigDecimal getPartnerPayAmount() {
        return partnerPayAmount;
    }

    public void setPartnerPayAmount(BigDecimal partnerPayAmount) {
        this.partnerPayAmount = partnerPayAmount;
    }

    public BigDecimal getAvailBalance() {
        return availBalance;
    }

    public void setAvailBalance(BigDecimal availBalance) {
        this.availBalance = availBalance;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getTransactionType() {
        return transactionType;
    }

    public void setTransactionType(String transactionType) {
        this.transactionType = transactionType;
    }

    public String getDisburseType() {
        return disburseType;
    }

    public void setDisburseType(String disburseType) {
        this.disburseType = disburseType;
    }

    public String getRestraintType() {
        return restraintType;
    }

    public void setRestraintType(String restraintType) {
        this.restraintType = restraintType;
    }

    public String getRestraintSeqNo() {
        return restraintSeqNo;
    }

    public void setRestraintSeqNo(String restraintSeqNo) {
        this.restraintSeqNo = restraintSeqNo;
    }

    public String getFeeCode() {
        return feeCode;
    }

    public void setFeeCode(String feeCode) {
        this.feeCode = feeCode;
    }

    public Date getEffectDate() {
        return effectDate;
    }

    public void setEffectDate(Date effectDate) {
        this.effectDate = effectDate;
    }

    public String getRefNo() {
        return refNo;
    }

    public void setRefNo(String refNo) {
        this.refNo = refNo;
    }

    public String getReturnCode() {
        return returnCode;
    }

    public void setReturnCode(String returnCode) {
        this.returnCode = returnCode;
    }

    public String getReturnMessage() {
        return returnMessage;
    }

    public void setReturnMessage(String returnMessage) {
        this.returnMessage = returnMessage;
    }

    public String getReturnStatus() {
        return returnStatus;
    }

    public void setReturnStatus(String returnStatus) {
        this.returnStatus = returnStatus;
    }

    public String getSumStatus() {
        return sumStatus;
    }

    public void setSumStatus(String sumStatus) {
        this.sumStatus = sumStatus;
    }

    public String getCancelStatus() {
        return cancelStatus;
    }

    public void setCancelStatus(String cancelStatus) {
        this.cancelStatus = cancelStatus;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public Date getBusinessDate() {
        return businessDate;
    }

    public void setBusinessDate(Date businessDate) {
        this.businessDate = businessDate;
    }

    public Date getCollateDate() {
        return collateDate;
    }

    public void setCollateDate(Date collateDate) {
        this.collateDate = collateDate;
    }

    public Date getLaunchTime() {
        return launchTime;
    }

    public void setLaunchTime(Date launchTime) {
        this.launchTime = launchTime;
    }

    public Date getCompleteTime() {
        return completeTime;
    }

    public void setCompleteTime(Date completeTime) {
        this.completeTime = completeTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }

    public String getGrayVersion() {
        return grayVersion;
    }

    public void setGrayVersion(String grayVersion) {
        this.grayVersion = grayVersion;
    }

    public String getKeepAccountStatus() { return keepAccountStatus; }

    public void setKeepAccountStatus(String keepAccountStatus) { this.keepAccountStatus = keepAccountStatus; }

    public Integer getQueryMaxCounts() { return queryMaxCounts; }

    public void setQueryMaxCounts(Integer queryMaxCounts) { this.queryMaxCounts = queryMaxCounts; }
}